home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 1 / Meeting Pearls Vol 1 (1994).iso / installed_progs / gfx / daggex / docs / clients / fvwm / sample.fvwmrc / system.fvwmrc < prev   
Encoding:
Text File  |  1994-06-04  |  16.7 KB  |  541 lines

  1. ###########################################################################
  2. # set up the colors
  3. #
  4. # OK some people like bright clear colors on their window decorations.
  5. # These people, I guess would mostly be from nice sunny/good weather places
  6. # line California.
  7. #
  8. # StdForeColor         Black
  9. # StdBackColor        LightSkyBlue
  10. # HiForeColor         yellow
  11. # HiBackColor        PeachPuff1
  12. # PagerBackColor    BlanchedAlmond
  13.  
  14. # Me, I'm from Upstate New York, and live in New Hampshire, so I prefer
  15. # these dark muddy colors...
  16.  
  17. # this is used for non-selected windows, menus, and the panner
  18. StdForeColor         Black
  19. StdBackColor         #60a0c0
  20.  
  21. # this is used for the selected window
  22. HiForeColor         Black
  23. HiBackColor         #c06077
  24.  
  25. PagerBackColor        #5c54c0
  26. PagerForeColor        orchid
  27.  
  28. StickyForeColor        Black
  29. StickyBackColor        #60c0a0
  30.  
  31. ############################################################################
  32. # Now the fonts - one for menus, another for window titles, another for icons
  33. #Font            -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
  34. Font            -*-times-medium-i-*-*-*-120-*-*-*-*-*-*
  35. WindowFont        -adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*
  36. #IconFont        -adobe-helvetica-medium-r-*-*-11-*-*-*-*-*-*-*
  37. IconFont        fixed
  38.  
  39. # PagerFont is used to mark windows in the Pager with their icon names.
  40. # This is really only useful for DeskTopScale < 20 or so
  41. #PagerFont        5x8
  42.  
  43. ###########################################################################
  44. # Set up the major operating modes
  45. #
  46. ########################      FOCUS STUFF     ##############################
  47. # Set windows to auto-raise after 750 milliseconds if you like it.
  48. # Autoraise can sometimes obscure pop-up windows. Performance is now
  49. # similar to olvwm's auto-raise feature.
  50. #AutoRaise 750
  51.  
  52. # Normally, we'll be in focus-follows mouse mode, but uncomment this 
  53. # for mwm-style click-to-focus
  54. #ClickToFocus
  55.  
  56. ########################      ICON STUFF     ##############################
  57. # Auto Place Icons is a nice feature....
  58. # This creates two icon boxes, one on the left side, then one on the
  59. # bottom. Leaves room in the upper left for my clock and xbiff,
  60. # room on the bottom for the Pager.
  61. #IconBox -150 90 -5 -140
  62. #IconBox 5 -140 -140 -5
  63. IconBox -70 1 -1 -140
  64.  
  65. # If you uncomment this, and make sure that the WindowList is bound to
  66. # something, it works pretty much like an icon manager.
  67. #SuppressIcons
  68.  
  69. # StubbornIcons makes icons de-iconify into their original position on the
  70. # desktop, instead of on the current page.
  71. #StubbornIcons
  72.  
  73. # With AutoPlacement, icons will normally place themselves underneath active
  74. # windows. This option changes that.
  75. #StubbornIconPlacement
  76.  
  77. # If you want ALL you icons to follow you around the desktop (Sticky), try
  78. # this
  79. #StickyIcons
  80.  
  81. ########################      MISCELLANEOUS STUFF     #######################
  82. # If you don't like the default 150 msec click delay for the complex functions
  83. # change this and uncomment it.
  84. #ClickTime 150
  85.  
  86. # OpaqueMove has a number (N) attached to it (default 5), if the window occupies
  87. # less than N% of the screen, opaque move is used. 0 <= N <= 100
  88. # OpaqueMove 100
  89.  
  90. # flip by whole pages on the edge of the screen.
  91. EdgeScroll 100 100
  92.  
  93. # A modest delay before flipping pages seems to be nice...
  94. # I thresh in a 50 pixel Move-resistance too, just so people
  95. # can try it out.
  96. EdgeResistance 250 50
  97.  
  98.  
  99. ########################      WINDOW PLACEMENT     #######################
  100. # RandomPlacement prevents user interaction while placing windows:
  101. # RandomPlacement
  102.  
  103. # SmartPlacement makes new  windows pop-up in blank regions of screen if possible,
  104. # otherwise falls back to random or interactive placement.
  105. SmartPlacement
  106.  
  107. # With SmartPlacement, windows will normally place themselves over icons. Uncomment
  108. # this to change that.
  109. #StubbornPlacement
  110.  
  111. # NoPPosition instructs fvwm to ignore the PPosition field in window geometry hints.
  112. # Emacs annoyingly sets PPosition to (0,0)!
  113. NoPPosition
  114.  
  115.  
  116. ########################      DECORATIONS     #######################
  117. # If you want decorated transient windows, uncomment this:
  118. #DecorateTransients
  119.  
  120. # Width of decorations on otherwise undecorated windows:
  121. NoBoundaryWidth 3
  122.  
  123. # Width of side-bars on decorated windows:
  124. BoundaryWidth 4
  125.  
  126.  
  127. ##########################################################################
  128. # Module path and modules to be launched during initialization
  129. #
  130. # ModulePath is a colon-separated list, just like regular unix PATH
  131. ModulePath /local/homes/dsp/nation/modules:/usr/lib/X11/fvwm
  132.  
  133. # Modules to be launched during initialization go here
  134. Module FvwmInitModule
  135. Module GoodStuff
  136. # Module FvwmNoClutter
  137.  
  138.  
  139.  
  140. ###########################################################################
  141. # Set up the virtual desktop and pager
  142.  
  143. #set the desk top size in units of physical screen size
  144. DeskTopSize 3x3
  145.  
  146. # and the reduction scale used for the panner/pager
  147. DeskTopScale 32
  148.  
  149. # Use the Fvwm Pager
  150. Pager -5 -5
  151.  
  152. ############################################################################
  153. # list the windows that don't want a title bar
  154. NoTitle Fvwm Pager
  155. NoTitle xclock
  156. NoTitle xdclock
  157. NoTitle Clock
  158. NoTitle xbiff
  159. NoTitle GoodStuff
  160. NoTitle Sppeed6_user
  161.  
  162. ###########################################################################
  163. # Here's where I could list NoBorder windows that don't get frames.
  164. # If a window shows up with NoTitle and NoBorder, it gets a simple frame
  165. # whose width is specified by the NoBoundaryWidth option (can be 0).
  166. #
  167. # When windows are NoBordered, they look a bit like twm is handling them
  168. NoBorder Clock
  169.  
  170. ##########################################################################
  171. # now the windows that "Stick to the glass", ie don't scroll with the
  172. # desktop
  173. # The pager is automatically sticky
  174. Sticky xclock
  175. Sticky xdclock
  176. Sticky oclock
  177. Sticky Clock
  178. Sticky xbiff
  179. Sticky GoodStuff
  180.  
  181.  
  182. ############################################################################
  183. # now list windows that want to "stay on top," ie stay visible until
  184. # explicitly lowered
  185. # I got tired of this, except for the pager.
  186. #StaysOnTop xclock
  187. #StaysOnTop xdclock
  188. #StaysOnTop oclock
  189. #StaysOnTop Clock
  190. StaysOnTop Fvwm Pager
  191.  
  192.  
  193. ############################################################################
  194. # now list windows that don't need to show up in the window list
  195. WindowListSkip Clock
  196. WindowListSkip xbiff
  197. WindowListSkip xcloc
  198. WindowListSkip Fvwm Pager
  199.  
  200.  
  201. ############################################################################
  202. # define some common icon bitmaps
  203.  
  204. # These are the color icons.
  205. # Of course, you need to change the directory to the one where they
  206. # really live.
  207. # Keep m4 from barfing on my icon and bitmap paths
  208. # undefine(`include')
  209.  
  210. PixmapPath        /usr/include/X11/pixmaps/:/local/homes/dsp/nation/icons
  211. IconPath        /usr/include/X11/bitmaps/
  212.  
  213. Icon "rxvt"         term.xpm
  214. Icon "xterm"        xterm.xpm
  215. Icon "Fvwm Pager"   map.xpm
  216. Icon "Appointment"  datebook.xpm
  217. Icon "xcalc"        xcalc.xpm
  218. Icon "xbiff"        mail1.xpm
  219. Icon "xmh"          mail1.xpm
  220. Icon "xman"        xman.xpm
  221. Icon "xvgr"        graphs.xpm
  222. Icon "matlab"        math4.xpm
  223. Icon "xmag"        magnifying_glass2.xpm
  224. Icon "xgraph"        graphs.xpm
  225. Icon "GoodStuff"    toolbox.xpm
  226. Icon ""             unknown1.xpm
  227.  
  228.  
  229. # Here are some monchrome icon bitmaps that everyone should have
  230. #Icon "rxvt"        terminal
  231. #Icon "xterm"        Term
  232. # I have included a default.xbm in the fvwm_icons subdirectory
  233. #Icon ""          default.xbm
  234.  
  235. ############################################################################
  236. # Now define some handy complex functions
  237.  
  238. # This one moves and then raises the window if you drag the mouse,
  239. # only raises the window if you click,  or does a RaiseLower if you double 
  240. # click
  241. Function "Move-or-Raise"
  242.     Move         "Motion"
  243.     Raise        "Motion"
  244.     Raise        "Click"
  245.     RaiseLower    "DoubleClick" 
  246. EndFunction
  247.  
  248. # This one maximizes vertically if you click (leaving room for the GoodStuff bar at the
  249. # bottom, or does a full maximization if you double click, or a true full vertical 
  250. # maximization if you just hold the mouse button down.
  251. Function "maximize_func"
  252.     Maximize    "Motion" 0 100
  253.     Maximize    "Click" 0 92
  254.     Maximize    "DoubleClick" 100 100
  255. EndFunction
  256.  
  257.  
  258. # This one moves and then lowers the window if you drag the mouse,
  259. # only lowers the window if you click,  or does a RaiseLower if you double 
  260. # click
  261. Function "Move-or-Lower"
  262.     Move         "Motion"
  263.     Lower        "Motion"
  264.     Lower        "Click"
  265.     RaiseLower    "DoubleClick"
  266. EndFunction
  267.  
  268. # This one moves or (de)iconifies:
  269. Function "Move-or-Iconify"
  270.     Move         "Motion"
  271.     Iconify        "DoubleClick"
  272. EndFunction
  273.  
  274. # This one resizes and then raises the window if you drag the mouse,
  275. # only raises the window if you click,  or does a RaiseLower if you double 
  276. # click
  277. Function "Resize-or-Raise"
  278.     Resize         "Motion"
  279.     Raise        "Motion"
  280.     Raise        "Click"
  281.     RaiseLower    "DoubleClick"
  282. EndFunction
  283.  
  284.  
  285. # This is provided as a hint only.
  286. # Move to a known page on the desktop, then start an application in a 
  287. # known location. Could also switch to a known desktop, I guess
  288. #Function "abs_coord"
  289. #    GoToPage "Immediate"    1,1
  290. #    Exec    "Immediate"    exec xcalc -geometry +100+100&
  291. #EndFunction
  292.  
  293.  
  294. ##############################################################################
  295. #now define the menus - defer bindings until later
  296.  
  297. # This menu is invoked as a sub-menu - it allows you to quit,
  298. # restart, or switch to another WM.
  299. Popup "Quit-Verify"
  300.     Title    "Really Quit Fvwm?"
  301.     Quit    "Yes, Really Quit"
  302.     Restart "Restart Fvwm"    fvwm
  303.     Restart "Start twm"     twm
  304.     Restart "Start tvtwm"     tvtwm
  305.     Restart "Start mwm"     mwm
  306.     Restart "Start olwm"     /usr/openwin/bin/olwm
  307.     Nop    ""
  308.     Nop    "No, Don't Quit"
  309. EndPopup
  310.  
  311. # Provides a list of modules to fire off
  312. Popup "Module-Popup"
  313.     Title    "Modules"
  314.     Module    "GoodStuff"    GoodStuff
  315.     Module    "NoClutter"    FvwmNoClutter
  316.     Module    "Identify"    FvwmIdentify
  317.     Module  "SaveDesktop"   FvwmSaveDesktop
  318.     Module    "Debug"        FvwmModuleDebugger
  319. EndPopup
  320.  
  321. # This menu will fire up some very common utilities
  322. Popup "Utilities"
  323.     Title     "Utilities"
  324.     Exec    "Xterm"        exec xterm -e tcsh &
  325.     Exec    "Rxvt"        exec rxvt &
  326.     Exec    "Top"        exec rxvt -T Top -n Top -e top &
  327.     Exec    "Calculator"    exec xcalc &
  328.     Exec    "Xman"        exec xman &
  329.     Exec    "Xmag"        exec xmag &
  330.     Nop    ""
  331.     Popup    "Exit Fvwm"    Quit-Verify
  332.     Popup    "Modules"    Module-Popup
  333.     Nop    ""
  334.     Refresh    "Refresh Screen"
  335. EndPopup
  336.  
  337. # This defines the most common window operations
  338. Popup "Window Ops"
  339.     Title        "Window Ops"
  340.     Function    "Move"             Move-or-Raise
  341.     Function     "Resize"         Resize-or-Raise
  342.     Raise       "Raise"
  343.     Lower       "Lower"
  344.     Iconify     "(De)Iconify" 
  345.     Stick        "(Un)Stick"
  346.     Maximize     "(Un)Maximize"
  347.     Maximize     "(Un)Maximize Vertical"    0 100
  348.     Nop         ""
  349.     Destroy     "Destroy"
  350.     Delete      "Delete"
  351. EndPopup
  352.  
  353. # A trimmed down version of "Window Ops", good for binding to decorations
  354. Popup "Window Ops2"
  355.     Function     "Move"             Move-or-Raise
  356.     Function      "Resize"         Resize-or-Raise
  357.     Raise       "Raise"
  358.     Lower       "Lower"
  359.     Iconify     "Iconify"
  360.     Stick        "(Un)Stick"
  361.     Nop         ""
  362.     Destroy     "Destroy"
  363.     Delete      "Delete"
  364. EndPopup
  365.  
  366. #############################################################################
  367. # One more complex function - couldn't be defined earlier because it used 
  368. # pop-up menus
  369. #
  370. # This creates a motif-ish sticky menu for the title-bar window-ops
  371. # pop-up
  372. # Menu acts like normal twm menu if you just hold the button down,
  373. # but if you click instead, the menu stays up, motif style
  374. Function "window_ops_func"
  375.     PopUp     "Click"        Window Ops2
  376.     PopUp    "Motion"    Window Ops2
  377. # Motif would add
  378. #       Delete  "DoubleClick"  
  379. EndFunction
  380.  
  381.  
  382. ##############################################################################
  383. # This defines the mouse bindings
  384.  
  385. # First, for the mouse in the root window
  386. # Button 1 gives the Utilities menu
  387. # Button 2 gives the Window Ops menu
  388. # Button 3 gives the WindowList (like TwmWindows)
  389. # I use the AnyModifier (A) option for the modifier field, so you can hold down
  390. # any shift-control-whatever combination you want!
  391.  
  392. #     Button    Context Modifi     Function
  393. Mouse 1        R       A       PopUp "Utilities"
  394. Mouse 2        R        A          PopUp "Window Ops"
  395. Mouse 3        R        A          WindowList
  396.  
  397.  
  398.  
  399. # Now the title bar buttons
  400. # Any button in the left title-bar button gives the window ops menu
  401. # Any button in the right title-bar button Iconifies the window
  402. # Any button in the rightmost title-bar button maximizes
  403. # Note the use of "Mouse 0" for AnyButton.
  404.  
  405. #     Button    Context Modifi     Function
  406. Mouse 0        1        A          Function "window_ops_func"
  407. Mouse 0        2        A         Function "maximize_func"
  408. Mouse 0        4        A         Iconify
  409.  
  410. # Now the rest of the frame
  411. # Here I invoke my complex functions for Move-or-lower, Move-or-raise,
  412. # and Resize-or-Raise. 
  413. # Button 1 in the corner pieces, with any modifiers, gives resize or raise
  414. Mouse 1        F    A    Function "Resize-or-Raise"
  415. # Button 1 in the title, sides, or icon, w/ any modifiers, gives move or raise
  416. Mouse 1        TS    A    Function "Move-or-Raise"
  417.  
  418. # Button 1 in an icons gives move for a drag, de-iconify for a double-click,
  419. # nothing for a single click
  420. # Button 2 in an icon, w/ any modifiers, gives de-iconify
  421.  
  422. Mouse 1        I    A    Function "Move-or-Iconify"
  423. Mouse 2        I    A    Iconify
  424.  
  425. # Button 2 in the corners, sides, or title-bar gives the window ops menu
  426. Mouse 2        FST    A    Function "window_ops_func"
  427. # Button 3 anywhere in the decoration (except the title-bar buttons)
  428. # does a raise-lower
  429. Mouse 3        TSIF    A    RaiseLower
  430.  
  431. # Button 3 in the window, with the Modifier-1 key (usually alt or diamond)
  432. # gives Raise-Lower. Used to use control here, but that interferes with xterm
  433. Mouse 3         W       M       RaiseLower
  434.  
  435. ############################################################################
  436. # Now some keyboard shortcuts.
  437.  
  438. # Arrow Keys
  439. # press arrow + control anywhere, and scroll by 1 page
  440. Key Left    A    C    Scroll -100 0
  441. Key Right    A    C    Scroll +100 +0
  442. Key Up        A    C    Scroll +0   -100
  443. Key Down    A    C    Scroll +0   +100
  444.  
  445. # press arrow + meta key, and scroll by 1/10 of a page
  446. Key Left    A    M    Scroll -10 +0
  447. Key Right    A    M    Scroll +10 +0
  448. Key Up        A    M    Scroll +0   -10
  449. Key Down    A    M    Scroll +0   +10
  450.  
  451. # press shift arrow + control anywhere, and move the pointer by 1% of a page
  452. Key Left    A    SC    CursorMove -1 0
  453. Key Right    A    SC    CursorMove +1 +0
  454. Key Up        A    SC    CursorMove +0   -1
  455. Key Down    A    SC    CursorMove +0   +1
  456.  
  457. # press shift arrow + meta key, and move the pointer by 1/10 of a page
  458. Key Left    A    SM    CursorMove -10 +0
  459. Key Right    A    SM    CursorMove +10 +0
  460. Key Up        A    SM    CursorMove +0   -10
  461. Key Down    A    SM    CursorMove +0   +10
  462.  
  463. # Keyboard accelerators
  464. Key F1        A    M    Popup "Utilities"
  465. Key F1        A    M    Popup "Utilities"
  466. Key F2        A    M    Popup "Window Ops"
  467. Key F3        A    M    WindowList
  468. Key F4        A    M    Iconify
  469. Key F5        A    M    Move
  470. Key F6        A    M    Resize
  471. Key F7        A    M    CirculateUp
  472. Key F8        A    M    CirculateDown
  473.  
  474. #Page Up/Dapge Down keys are used to scroll by one desktop page
  475. # in any context, press page up/down + control
  476. # in root context, just pressing page up/down is OK
  477. # I prefer the non-wrapping scroll. These are for example purposes only
  478. #Key Next    A       C       Scroll 100000 0
  479. #Key Next    R       N       Scroll 100000 0  
  480. #Key Prior    A       C       Scroll -100000 0
  481. #Key Prior    R       N       Scroll -100000 0
  482.  
  483.  
  484. ############################################################################
  485. ############################################################################
  486. #Definitions used by the modules
  487.  
  488. ###################### GoodStuff button-bar ################################
  489. # Colors
  490. *GoodStuffFore Black
  491. *GoodStuffBack #908090
  492.  
  493. # Font
  494. *GoodStuffFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
  495.  
  496. # Geometry - really likes to pick its own size, but giving a position is OK
  497. *GoodStuffGeometry +0-1
  498.  
  499. # Layout: specify rows or columns, not both
  500. # *GoodStuffColumns 1
  501. *GoodStuffRows 1
  502.  
  503. # Define the buttons to use.....
  504. *GoodStuff Resize  arrows2.xpm   Resize
  505. *GoodStuff Move    map.xpm      Move
  506. *GoodStuff Lower   arrdown2.xpm  Lower
  507. *GoodStuff Raise   arrup2.xpm    Raise
  508. *GoodStuff Kill    rbomb.xpm    Destroy
  509.  
  510. # xterm or rxvts on remote machines can be done like this
  511. # Output re-direction is csh style, not sh style
  512. *GoodStuff Dopey   rterm.xpm   Exec "rxvt" rsh dopey "exec rxvt -display $DISPLAY </dev/null >&/dev/null & "&
  513. *GoodStuff Grumpy  rterm.xpm   Exec "rxvt" rsh grumpy "exec rxvt -display $DISPLAY </dev/null >&/dev/null & "&
  514. *GoodStuff Snoopy  rterm.xpm   Exec "rxvt" rsh snoopy "exec rxvt -display $DISPLAY </dev/null >&/dev/null & "&
  515.  
  516. *GoodStuff Xcalc   rcalc.xpm   Exec "Calculator" exec xcalc &
  517. *GoodStuff XMag    magnifying_glass2.xpm    Exec "xmag" exec xmag &
  518. *GoodStuff Mail    mail2.xpm   Exec "xmh" exec xmh &
  519. *GoodStuff Paging  clamp.xpm   TogglePage
  520.  
  521. #Buttons for some other desktops.
  522. *GoodStuff Desk-0  desk.xpm    Desk 0 0
  523. *GoodStuff Desk-1  desk.xpm    Desk 0 1
  524. *GoodStuff Desk-2  desk.xpm    Desk 0 2
  525. *GoodStuff Desk-3  desk.xpm    Desk 0 3
  526.  
  527. ######################### No Clutter ########################################
  528. # I only wrote NoClutter as a simple test case, but maybe some big sites like
  529. # universities really have usage problems (too many open windows)....
  530. # Time delays are in seconds.
  531. *FvwmNoClutter 3600 Iconify 1
  532. *FvwmNoClutter 86400 Delete
  533. *FvwmNoCLutter 172800 Destroy
  534.  
  535. ########################## Window-Identifier ###############################
  536. # Just choose colors and a fonts
  537. *FvwmIdentifyBack MidnightBlue
  538. *FvwmIdentifyFore Yellow
  539. *FvwmIdentifyFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
  540.